package com.hackordie.commons.game.world;

import java.util.ArrayList;
import java.util.List;

import com.hackordie.commons.hardware.router.Router;

public class RouterMap {

    List<Router> routers = new ArrayList<Router>();
    
    public RouterMap(){
        
        //creamos el mapa de routers
        createRouterMap();
        
    }
    
    private void createRouterMap() {
        
        //TODO se creara mediante la base de datos, de momento, creada a pelo
        
        routers.add(new Router("10.10.10.1", new String[]{"10.10.10.2"}));
        
        routers.add(new Router("10.10.10.2", new String[]{"10.10.10.1",
                                                          "10.10.10.3",
                                                          "10.10.10.4",
                                                          "10.10.10.5" }));
        
        routers.add(new Router("10.10.10.3", new String[]{"10.10.10.2"}));
        
        routers.add(new Router("10.10.10.4", new String[]{"10.10.10.2"}));
        
        routers.add(new Router("10.10.10.5", new String[]{"10.10.10.2", "10.10.10.6"}));
        
        routers.add(new Router("10.10.10.6", new String[]{"10.10.10.5"}));
    }
    
    public void onAllRouters() {
        for(int i = 0; i < routers.size(); i++) {
            routers.get(i).on();
        }
    }
    
    public void offAllRouters() {
        for(int i = 0; i < routers.size(); i++) {
            routers.get(i).off();
        }
    }
       
    public Router getRouterByIp(String ip) {
        
        String ipRoute;
        
        for(int i = 0; i < routers.size(); i++) {
            ipRoute = routers.get(i).getMyIp();
            
            if(ipRoute != null && ipRoute.equals(ip)){
                return routers.get(i);
            }
        }
        return null;
    }
    
    public List<Router> getRouterMap() {
        return routers;
    }    
}
